package cn.iocoder.yudao.module.wine.dal.dataobject.supplyorder;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 供求订单管理 DO
 *
 * @author 管理员
 */
@TableName("wine_supply_order")
@KeySequence("wine_supply_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SupplyOrderDO extends BaseDO {

    /**
     * 订单编号
     */
    @TableId
    private Long id;
    /**
     * 订单流水号
     */
    private String no;
    /**
     * 订单类型
     */
    private Integer type;
    /**
     * 订单来源终端
     */
    private Integer terminal;

    /**
     * 卖方用户ID(卖方ID)
     */
    private Long saleUserId;
    /**
     * 卖方备注
     */
    private String saleUserRemark;
    /**
     * 卖方收货时间
     */
    private LocalDateTime saleReceiveTime;
    /**
     * 购买用户编号(买方ID)
     */
    private Long buyUserId;
    /**
     * 购买用户备注
     */
    private String buyUserRemark;

    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 购买的数量
     */
    private Integer productCount;
    /**
     * 购买的箱量
     */
    private Integer productQuantity;
    /**
     * 取消类型
     */
    private Integer cancelType;
    /**
     * 交易类型：1--担责，2--担保
     */
    private Integer tradeType;
    /**
     * 是否评价
     */
    private Integer commentStatus;
    /**
     * 推广人编号
     */
    private Long brokerageUserId;
    /**
     * 支付订单编号
     */
    private Long payOrderId;
    /**
     * 货款是否已支付：[0:未支付 1:已经支付过]
     */
    private Integer payStatus;
    /**
     * 订单支付时间
     */
    private LocalDateTime payTime;
    /**
     * 支付成功的支付渠道
     */
    private String payChannelCode;
    /**
     * 订单完成时间
     */
    private LocalDateTime finishTime;
    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;
    /**
     * 商品原价（总），单位：分
     */
    private Integer totalPrice;
    /**
     * 应付金额（总），单位：分
     */
    private Integer payPrice;
    /**
     * 保费金额（总），单位：分
     */
    private Integer premiumPrice;
    /**
     * 保费是否已支付：[0:未支付 1:已经支付过]
     */
    private Integer premiumStatus;

    /**
     * 配送类型
     */
    private Integer deliveryType;
    /**
     * 发货时间
     */
    private LocalDateTime deliveryTime;
    /**
     * 发货凭证图
     */
    private String deliveryImages;
    /**
     * 发货物流编号
     */
    private Long logisticsId;
    /**
     * 发货物流单号
     */
    private String logisticsNo;

    /**
     * 收货时间
     */
    private LocalDateTime receiveTime;
    /**
     * 收件人名称
     */
    private String receiverName;
    /**
     * 收件人手机
     */
    private String receiverMobile;
    /**
     * 收件人地区编号
     */
    private Integer receiverAreaId;
    /**
     * 收件人公司名称
     */
    private String receiverCompanyName;
    /**
     * 收件人详细地址
     */
    private String receiverDetailAddress;
    /**
     * 验货视频
     */
    private String receiverVideo;

    /**
     * 退货物流单号
     */
    private String salesLogisticsNo;
    /**
     * 退货图片
     */
    private String salesImages;
    /**
     * 退货时间
     */
    private LocalDateTime salesTime;

    /**
     * 平台操作状态：0--未收款，1--已收款，2--已打款，4--有纠纷
     */
    private Integer operateStatus;
    /**
     * 平台操作备注
     */
    private String remark;

    /**
     * 确认 1是2否
     */
    private Integer affirmDuty;

    /**
     * 确认时间
     */
    private LocalDateTime affirmTime;

    /**
     * 发货视频
     */
    private String deliveryVideo;

}
